#ifndef DUMPERSUBSYSTEM_HPP
#define DUMPERSUBSYSTEM_HPP

#include <WPILib.h>
#include "TimedSolenoid.h"
#include "EntechSubsystem.h"

class DumperSubsystem : public EntechSubsystem
{
	public:
		enum Position
		{
			Low,
			High,
			Start
		};
		DumperSubsystem ();
		virtual ~DumperSubsystem();
		void SetPosition(Position position);

		// Subsystem functions
		virtual void DoAutonomousInit(void);
		virtual void DoAutonomous(void);
		virtual void DoTeleop(void);
		virtual void DoTest(void);
		void DoKicker(void);
		bool CommandDone(void);

	private:
		const static double c_TimeToKick = 0.5;
		const static double c_TimeToMoveArm = 1.0;
		Position m_position;
		Solenoid *m_kick;
		TimedSolenoid *m_armUp;
		TimedSolenoid *m_armDown;
		Timer *m_timer;
};

#endif
